Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Копм’ютерна графіка

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра захисту інформації

Інформація про роботу

Рік:
2024
Тип роботи:
Розрахункова робота
Предмет:
Комп'ютерна графіка

Частина тексту файла

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра «Захисту інформації»  Розрахункова робота З курсу: “Копм’ютерна графіка” Варіант: 18 № варіанту Функція f(x) Діапазон зміни аргументу  18 z=arcctg(x) [-1000; 1000]   № варіанту Структура зображення Пояснення   18   Хрест з довжинами сторін a та b безперервно котиться по горизонтальній поверхні довжиною L. При досягненні стінок напрямок кочення змінюється на протилежний.   Код програми: Program rozrah; Uses Crt, Graph; Var Gd, Gm, xs, ys, n, kr:integer; x, xprv, xcrnt, xnxt, y, yprv, ycrnt, ynxt, k: extended; xh, yh, xc, yc, tmp: extended; startx, endx, r: extended; alpha,alpha1:extended; h:real; s:string; size:word; p:pointer; rn,xn,yn:extended; Procedure Linii; Begin line (1,GetMaxY div 2,GetMaxX-2,GetMaxY div 2); line (GetMaxX div 2,1,GetMaxX div 2,GetMaxY-200); OutTextXY ((GetMaxX div 2)+10,(GetMaxY div 2)+10,'0'); line (319,1,317,10); line (319,1,321,10); OutTextXY (325,2,'Y'); line (639,239,629,237); line (639,239,629,241); OutTextXY (631,224,'X'); end; Procedure ArcCtgX; Begin x:=-1000.0; y:=k*(pi/2-arctan(x)); xprv:=k*y+xs; yprv:=k*x+ys; x:=x+h; while x<=1000.0 do begin y:=k*(pi/2-arctan(x)); xcrnt:=k*x+xs; ycrnt:=k*y+ys; line(trunc(xprv),trunc(yprv),trunc(xcrnt),trunc(ycrnt)); xprv:=xcrnt; yprv:=ycrnt; x:=x+h; end; end; Procedure ramka; Begin line((GetMaxX div 2)+10, GetMaxY-1, (GetMaxX div 2)+172, GetMaxY-1); line((GetMaxX div 2)+10, GetMaxY-1, (GetMaxX div 2)+10, GetMaxY-20); line((GetMaxX div 2)+172, GetMaxY-1, (GetMaxX div 2)+172, GetMaxY-20); end; Procedure hrest(xh,yh:integer; alpha:extended); var r,rm,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12:extended; alpha1,alpha2,alpha3,alpha4,alpha5,alpha6,alpha7,alpha8,alpha9,alpha10,alpha11,alpha12:extended; Begin alpha:=alpha*pi/180; r:=16; rm:=8; alpha1:=(alpha+22)*pi/180; alpha2:=(alpha+45)*pi/180; alpha3:=(alpha+67)*pi/180; alpha4:=(alpha+112)*pi/180; alpha5:=(alpha+135)*pi/180; alpha6:=(alpha+157)*pi/180; alpha7:=(alpha+202)*pi/180; alpha8:=(alpha+225)*pi/180; alpha9:=(alpha+247)*pi/180; alpha10:=(alpha+292)*pi/180; alpha11:=(alpha+315)*pi/180; alpha12:=(alpha+337)*pi/180; x1:=r*cos(alpha1)+xh; y1:=r*sin(alpha1)+yh; x2:=rm*cos(alpha2)+xh; y2:=rm*sin(alpha2)+yh; x3:=r*cos(alpha3)+xh; y3:=r*sin(alpha3)+yh; x4:=r*cos(alpha4)+xh; y4:=r*sin(alpha4)+yh; x5:=rm*cos(alpha5)+xh; y5:=rm*sin(alpha5)+yh; x6:=r*cos(alpha6)+xh; y6:=r*sin(alpha6)+yh; x7:=r*cos(alpha7)+xh; y7:=r*sin(alpha7)+yh; x8:=rm*cos(alpha8)+xh; y8:=rm*sin(alpha8)+yh; x9:=r*cos(alpha9)+xh; y9:=r*sin(alpha9)+yh; x10:=r*cos(alpha10)+xh; y10:=r*sin(alpha10)+yh; x11:=rm*cos(alpha11)+xh; y11:=rm*sin(alpha11)+yh; x12:=r*cos(alpha12)+xh; y12:=r*sin(alpha12)+yh; line(trunc(x1),trunc(y1),trunc(x2),trunc(y2)); line(trunc(x2),trunc(y2),trunc(x3),trunc(y3)); line(trunc(x3),trunc(y3),trunc(x4),trunc(y4)); line(trunc(x4),trunc(y4),trunc(x5),trunc(y5)); line(trunc(x5),trunc(y5),trunc(x6),trunc(y6)); line(trunc(x6),trunc(y6),trunc(x7),trunc(y7)); line(trunc(x7),trunc(y7),trunc(x8),trunc(y8)); line(trunc(x8),trunc(y8),trunc(x9),trunc(y9)); line(trunc(x9),trunc(y9),trunc(x10),trunc(y10)); line(trunc(x10),trunc(y10),trunc(x11),trunc(y11)); line(trunc(x11),trunc(y11),trunc(x12),trunc(y12)); line(trunc(x12),trunc(y12),trunc(x1),trunc(y1)); end; Begin clrscr; Gd:=DETECT; InitGraph(Gd, Gm, ''); if GraphResult = grOK then begin h:=1.0; k:=5; xs:=GetMaxX div 2; ys:=(GetMaxY div 2)-80; alpha:=0; startx:=(GetMaxX div 2)+26; endx:=(GetMaxX div 2)+156; xc:=startx; yc:=GetMaxY-17; xh:=startx; yh:=yc; r:=16.0; n:=5; xn:=16; yn:=0; while (not keypressed) do begin ClearDevice; linii; ArcCtgX; ramka; hrest(trunc(xh),trunc(yh),alpha); if xh=endx then alpha1:=-80; if xh=startx then alpha1:=80; alpha:=alpha+alpha1; if xh=endx then n:=-1; if xh=startx then n:=1; xh:=xh+n; delay(2500); end; end; ReadLn; FreeMem(p,size); CloseGraph; End. ...
Антиботан аватар за замовчуванням

13.07.2012 22:07

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини